//package com.bid.site.pc.config;
//
//import com.bid.base.common.util.auth.AuthAssistant;
//import com.bid.base.common.util.auth.ext.AuthCustomInterface;
//import lombok.extern.slf4j.Slf4j;
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Pointcut;
//import org.redisson.api.RedissonClient;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.core.Ordered;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//import java.math.BigDecimal;
//  如果放开,会扫描这个东西 AuthCustomInterface
//
///**
// * <strong>Description : </strong> <br>
// * <p>
// * <strong>北京正源德标科技信息有限责任公司</strong> <br>
// * </p>
// * <br>
// *
// * @author : zhaots
// * @date Date : 2020年12月11日 17:24
// * 修改人 修改日期 修改描述<br>
// * -------------------------------------------<br>
// * <br>
// * spring security的防止攻击就有session fixation, clickjacking, cross site request forgery
// * ref:https://blog.csdn.net/xiejx618/article/details/43732371
// * <br>
// */
//@Slf4j
//@Component
//@Aspect
//public class AuthInterceptor implements Ordered {
//
//    @Value("${octo.appid}")
//    private String octoid;
//
//    @Value("${octo.url.refresh.token}")
//    private String refreshTokenUrl;
//
//    @Resource
//    private RedissonClient redissonClient;
//    /**
//     * 为一致性校验做准备
//     */
//    @Value("${info.check.consistent.unameutokenredis}")
//    private boolean checkConsistent;
//
//    @Value("${octo.jwt.secret}")
//    private String jwtSecret;
//
//    @Value("${octo.refresh.refresh.warning.threshold}")
//    private BigDecimal warningVlaue;
//
//    //系统之间调用
//    @Value("${octo.sm4.http.key}")
//    private String sm4Httpkey;
//
//
//    @Pointcut("execution(* com.bid.site.pc.api..*.*(..))")
//    public void aspect() {
//    }
//
//    @Autowired(required = false)
//    AuthCustomInterface authCustom;
//
//    /**
//     * JWTUtils.printHeader(request); 查看所有header里面的元素
//     * @param joinPoint
//     * @return
//     * @throws Throwable
//     */
//    @Around("aspect()")
//    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
//        Object o = AuthAssistant.aroundWrapper(joinPoint, jwtSecret, redissonClient, warningVlaue, octoid, refreshTokenUrl, sm4Httpkey,authCustom);
//        return o;
//    }
//
//
//    @Override
//    public int getOrder() {
//        return Ordered.HIGHEST_PRECEDENCE;
//    }
//
//}
